package cn.seaboot.html.table;

import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;

import java.awt.*;
import java.util.List;

/**
 * 表格行
 *
 * @author Mr.css
 * @version 2025-07-01 8:46
 */
public class TR implements TItem {

    /**
     * 行高，如果为 0 需要转为默认值
     */
    private int height;

    /**
     * 样式
     * <p>
     * 通过 CSS 控制样式（推荐），所有浏览器支持
     */
    private String style;

    /**
     * 水平对齐方向
     * <p>
     * 支持：主流浏览器（不推荐），通过样式替代
     */
    private HorizontalAlignment align;

    /**
     * 垂直对齐方向
     * <p>
     * 支持：主流浏览器（不推荐），通过样式替代
     */
    private VerticalAlignment valign;
    /**
     * 背景色
     * <p>
     * 支持：主流浏览器（不推荐），通过样式替代
     */
    private Color backgroundColor;

    /**
     * 数据列
     */
    private List<TD> columns;

    public TR() {
    }

    public TR(List<TD> columns) {
        this.columns = columns;
    }

    public int getHeight() {
        return height;
    }

    public void setHeight(int height) {
        this.height = height;
    }

    public String getStyle() {
        return style;
    }

    public void setStyle(String style) {
        this.style = style;
    }

    public HorizontalAlignment getAlign() {
        return align;
    }

    public void setAlign(HorizontalAlignment align) {
        this.align = align;
    }

    public VerticalAlignment getValign() {
        return valign;
    }

    public void setValign(VerticalAlignment valign) {
        this.valign = valign;
    }

    public Color getBackgroundColor() {
        return backgroundColor;
    }

    public void setBackgroundColor(Color backgroundColor) {
        this.backgroundColor = backgroundColor;
    }

    public List<TD> getColumns() {
        return columns;
    }

    public void setColumns(List<TD> columns) {
        this.columns = columns;
    }

    @Override
    public String toString() {
        return "TableRow{" +
                "height=" + height +
                ", style='" + style + '\'' +
                ", align=" + align +
                ", valign=" + valign +
                ", backgroundColor=" + backgroundColor +
                ", columns=" + columns +
                '}';
    }
}
